System enabling multiple screens sharing in an online meeting

ABSTRACT

A system enabling multiple screens sharing in an online meeting. The system comprises a first data processing system 102 comprising a first processor module 202 and a first digital client 214. The first processor module 202 causes the first digital client 214 to individually share at least a first screen 110 and a second screen 112. The system further comprises a second data processing system 104 comprising a second processor module 302 and a second digital client 314, the second processor module 302 causing the second digital client 314 to individually share at least a third screen 114 and a fourth screen 116. The first digital client 214 shares the first screen 110 and the second screen 112 while the second digital client 314 shares the third screen 114 and the fourth screen 116.

BACKGROUND Field

The disclosed subject matter relates to the field of video conferencing.More particularly, but not exclusively, the subject matter relates toscreen sharing in video conferencing.

Discussion of Related Field

The ubiquitous characteristic of the internet coupled with the massivetechnological growth in electronic communication devices has had aparadigm shift in the way people communicate and network with eachother. More particularly, video conferencing has grown into dailyroutine to connect with people. Video conferencing finds its role invarious walks of life such consulting a doctor, work meetings,connecting with friends so on and so forth. In most cases, the videoconferencing is complemented with a screen sharing facility, wherein aparticipant is able to share the screen of the digital device with allother participants in a meeting.

However, the existing systems enable a participant to share only onescreen at any point in time which is highly undesirable because many atimes there is a requirement to look at multiple screens simultaneously.As an example, a participant in a meeting wants to compare resultspresent in two documents and is able to share only one screen or tab orwindow containing that document. Therefore, the objective of comparingthe documents is not realized thereby the purpose of the meeting.

Additionally, in certain scenario, there is a requirement of sharingmultiple screens by each of the participants in a meetingsimultaneously. This feature is highly desirable in a team meeting.However, the existing systems do not offer the ability to share multiplescreens of each of the participants of the meeting simultaneously.

In light of the above, it is apparent that there is a need for animproved system for enabling multiple screen simultaneously in an onlinemeeting.

SUMMARY

In one embodiment, a system enabling multiple screens sharing in anonline meeting is disclosed. The system may comprise a first dataprocessing system comprising a first processor module and a firstdigital client. The first processor module causes the first digitalclient to individually share at least a first screen and a secondscreen. The system further comprises a second data processing systemcomprising a second processor module and a second digital client. Thesecond processor module causes the second digital client to individuallyshare at least a third screen and a fourth screen. The first digitalclient may share the first screen and the second screen while the seconddigital client shares the third screen and the fourth screen. The firstdigital client may comprise a first digital client display interfaceconfigured to display visual content of the third screen and the fourthscreen in individual display windows and the second digital client maycomprise a second digital client display interface configured to displayvisual content of the first screen and the second screen in individualdisplay windows, while the first digital client displays the visualcontent of the third screen and the fourth screen.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments are illustrated by way of example and not limitation in thefigures of the accompanying drawings, in which like references indicatesimilar elements and in which:

FIG. 1 illustrates a system for enabling multiple screens sharing in anonline meeting, in accordance with an embodiment;

FIG. 2 is a block diagram illustrating a first data processing system102, in accordance with an embodiment;

FIG. 3 is a block diagram illustrating a second data processing system104, in accordance with an embodiment;

FIG. 4 is a block diagram illustrating a remote server 106, inaccordance with an embodiment;

FIG. 5 illustrates an architecture of a system enabling multiple screenssharing in an online meeting, in accordance with an embodiment;

FIG. 6 is a flowchart of process of establishing a connection betweenthe first data processing system 102 and the second data processingsystem 104;

FIG. 7 is flowchart of steps for sharing multiple screens during anonline meeting, in accordance with an embodiment;

FIG. 8 illustrates a first digital client display interface 802, inaccordance with an embodiment;

FIG. 9 is an illustration of the first digital client display interface802, in accordance with an embodiment;

FIG. 10 illustrates the first digital client display interface 802, inaccordance with an embodiment;

FIG. 11 illustrates the first digital client display interface 802, inaccordance with an embodiment;

FIG. 12A illustrates the first digital client display interface 802, inaccordance with an embodiment;

FIG. 12B illustrates the first digital client display interface 802, inaccordance with an embodiment;

FIG. 12C illustrates the first digital client display interface 802, inaccordance with an embodiment; and

FIG. 12D illustrates the first digital client display interface 802, inaccordance with an embodiment.

DETAILED DESCRIPTION

The following detailed description includes references to theaccompanying drawings, which form a part of the detailed description.The drawings show illustrations in accordance with example embodiments.These example embodiments, which may be herein also referred to as“examples” are described in enough detail to enable those skilled in theart to practice the present subject matter. However, it may be apparentto one with ordinary skill in the art, that the present invention may bepractised without these specific details. In other instances, well-knownmethods, procedures and components have not been described in detail soas not to unnecessarily obscure aspects of the embodiments. Theembodiments can be combined, other embodiments can be utilized, orstructural, logical, and design changes can be made without departingfrom the scope of the claims. The following detailed description is,therefore, not to be taken in a limiting sense, and the scope is definedby the appended claims and their equivalents.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one. In this document, the term“or” is used to refer to a nonexclusive “or,” such that “A or B”includes “A but not B,” “B but not A,” and “A and B,” unless otherwiseindicated.

FIG. 1 illustrates a system 100 for enabling multiple screens sharing inan online meeting, in accordance with an embodiment. The system maycomprise a first data processing system 102, a second data processingsystem 104, a communication network 108 and a remote server 106. Thefirst data processing system 102 may individually share a first screen110 and a second screen 112 and similarly the second data processingsystem 104 may share a third screen 114 and a fourth screen 116. Thescreen sharing between the first data processing system 102 and thesecond data processing system 104 may happen simultaneously.

In one embodiment, the first data processing system 102 and the seconddata processing system 104 may include, but not limited to, desktopcomputer, laptop, smartphone or the like.

FIG. 2 is a block diagram illustrating a first data processing system102, in accordance with an embodiment. The first data processing system102 may comprise a first processor module 202, a memory module 204, adisplay module 206, input modules 208, output modules 210 and acommunication module 212.

The first processor module 202 may be implemented in the form of one ormore processors and may be implemented as appropriate in hardware,computer-executable instructions, firmware, or combinations thereof.Computer-executable instruction or firmware implementations of the firstprocessor module 202 may include computer-executable ormachine-executable instructions written in any suitable programminglanguage to perform the various functions described.

The memory module 204 may include a permanent memory such as hard diskdrive, may be configured to store data, and executable programinstructions that are implemented by the processor module. The memorymodule 204 may be implemented in the form of a primary and a secondarymemory. The memory module 204 may store additional data and programinstructions that are loadable and executable on the first processormodule 202, as well as data generated during the execution of theseprograms. Further, the memory module 204 may be volatile memory, such asrandom-access memory and/or a disk drive, or non-volatile memory. Thememory module 204 may comprise of removable memory such as a CompactFlash card, Memory Stick, Smart Media, Multimedia Card, Secure Digitalmemory, or any other memory storage that exists currently or may existin the future.

In an embodiment, the memory module 204 may further comprise a firstdigital client 214, an Application Programming Interface (API) 216, acodec 218, an encryptor 220 and a decryptor 222. The first digitalclient 214 may be a web browser or a software application enablingmultiple screen sharing simultaneously, wherein the first digital client214 may further comprise a first digital client display interface. Thecodec 218 may include computer-executable or machine-executableinstructions written in any suitable programming language to performcompress outgoing data and decompress incoming data. The encryptor 220may encrypt the data being sent and decryptor 222 may decrypt theincoming data.

The display module 206 may displays an image, a video, or data to auser. For example, the display module 206 may include a panel, and thepanel may be an LCD, LED or an AM-OLED.

The input modules 208 may provide an interface for input devices such askeypad, touch screen, mouse and stylus among other input devices. In anembodiment, the input modules 208 includes a camera and a microphone.

The output modules 210 may provide an interface for output devices suchas display screen, speakers, printer and haptic feedback devices, amongother output devices.

The communication module 212 may be used by the first data processingsystem 102 to communicate with the remote server 106. The communicationmodule 212, as an example, may be a GPRS module, or other modules thatenable wireless communication.

The second data processing system 104 may comprise a similararchitecture to the first data processing system 102. FIG. 3 is a blockdiagram illustrating a second data processing system 104, in accordancewith an embodiment. The second data processing system 104 may comprise asecond processor module 302, a memory module 304 with a second digitalclient 314, a display module 306, input modules 308, output modules 310and a communication module 312.

FIG. 4 is a block diagram illustrating a remote server 106, inaccordance with an embodiment. The remote server 106 may comprise aprocessing unit 402, a memory unit 404, a communication unit 406, arouting unit 408, an encrypting/decrypting unit and an authenticatingunit 412.

The processing unit 402 may be implemented in the form of one or moreprocessors and may be implemented as appropriate in hardware,computer-executable instructions, firmware, or combinations thereof.Computer-executable instruction or firmware implementations of theprocessing unit 402 may include computer-executable ormachine-executable instructions written in any suitable programminglanguage to perform the various functions described.

The memory unit 404 may include a permanent memory such as hard diskdrive, may be configured to store data, and executable programinstructions that are implemented by the processor module.

The communication unit 406 may be used by the remote server 106 tocommunicate with the first data processing system 102 and the seconddata processing system 104. The communication unit 406, as an example,may be a GPRS module, or other modules that enable wirelesscommunication.

The routing unit 408 may enable identification of data processingsystems to which the data must be transmitted.

The encrypting/decrypting unit 410 may encrypt the incoming data fromthe first data processing system 102 and decrypt the outgoing data fromthe remote server 106.

The authenticating unit 412 may authenticate the first data processingsystem 102 and the second data processing system 104 before establishinga connection.

FIG. 5 illustrates an architecture of a system 100 enabling multiplescreens sharing in an online meeting, in accordance with an embodiment.The first data processing system 102 may establish a connection with theremote server 106 via a UDP socket 506 a using a signalling channel,wherein the first data processing system 102 may be authenticated by theuser using the authenticating 412 unit of the remote server 106 beforeestablishing a connection. Similarly, the second data processing system104 may establish a connection with the first data processing system 102via the remote server 106 via a UDP socket 506 b using the signallingchannel. The routing unit 408 of the remote server 106 may obtain the IPaddresses of the first data processing system 102 and the second dataprocessing system 104 and establish a connection between the two dataprocessing systems.

After establishing the connection, the first processor module 202 of thefirst data processing system 102 may individually share the first screen110 and the second screen 112 via the first digital client 214.Similarly, the second processor module 302 of the second data processingsystem 104 may individually share the third screen 114 and the fourthscreen 116 via the second digital client 314. The first digital client214 may share the first screen 110 and the second screen 112 while thesecond digital client 314 shares the third screen 114 and the fourthscreen 116.

In one embodiment, the first digital client 214 may create a firstpublishing data channel (502 a and 502 b) for each of the screens sharedby the first digital client 214, wherein each of the first publishingdata channels (502 a and 502 b) may publish the screens (first screen110 and second screen 112) shared by the first digital client 214.Similarly, the second digital client 314 may create a second publishingdata channel (502 c and 502 d) for each of the screens shared by thesecond digital client 314, wherein each of the second publishing datachannels (502 c and 502 d) may publish the screens (third screen 114 andthe fourth screen 116) shared by the second digital client 314.

In one embodiment, each of the first publishing data channels (502 a and502 b) and the second publishing data channels (502 c and 502 d) maycomprise a video track and an audio track, wherein each of the videotrack and the audio track of each publishing data channel forms a UDPsocket (506 c and 506 d) with the remote server 106 to share the videostream and audio stream of the screen.

In one embodiment, the first digital client 214 may create a firstreceiving data channel (504 a and 504 b) for each of the screens sharedby the second digital client 314, wherein each of the first receivingdata channels (504 a and 504 b) may receive the screens (third screen114 and fourth screen 116) shared by the second digital client 314.Similarly, the second digital client 314 may create a second receivingdata channel (504 c and 504 d) for each of the screens shared by thefirst digital client 214, wherein each of the second receiving datachannels (504 c and 504 d) may receive the screens (first screen 110 andthe second screen 112) shared by the first digital client 214.

FIG. 6 is a flowchart of process of establishing a connection betweenthe first data processing system 102 and the second data processingsystem 104. At step 602, the first data processing system 102 mayrequest the remote server 106 to establish a connection. The first dataprocessing system 102 may send a series of messages or commandsrequesting the remote server 106 to establish a connection.

At step 604, the remote server 106 may receive the request from thefirst data processing system 102 and may authenticate the request usingthe authenticating unit 412.

At step 606, after successful authentication, the remote server 106 mayestablish a connection with the first data processing system 102 via thesignaling channel.

At step 608, the second data processing system 104 may request theremote server 106 to establish a connection with the first dataprocessing system 102. As an example, the second data processing system104 may provide an online meeting identifier for connecting with thefirst data processing system 102.

At step 610, the remote server 106 may authenticate the request receivedfrom the second data processing system 104 using the authenticating unit412.

At step 612, after successful authentication, the remote server 106 mayestablish a connection between the first data processing system 102 andthe second data processing system 104 using the signalling channels.

FIG. 7 is flowchart of steps for sharing multiple screens during anonline meeting, in accordance with an embodiment. At step 702, asexplained in FIG. 6, the first data processing system 102 and the seconddata processing system 104 may establish a connection for an onlinemeeting between them.

At step 704, the first digital client 214 may create a first publishingdata channel (502 a and 502 b) for each of the screens shared by thefirst digital client 214, wherein each of the first publishing datachannels (502 a and 502 b) may publish the screens (first screen 110 andsecond screen 112) shared by the first digital client 214. Further, thefirst digital client 214 may create a first receiving data channel (504a and 504 b) for each of the screens shared by the second digital client314, wherein each of the first receiving data channels (504 a and 504 b)may receive the screens (third screen 114 and fourth screen 116) sharedby the second digital client 314.

Similarly, at step 706, the second digital client 314 may create asecond publishing data channel (502 c and 502 d) for each of the screensshared by the second digital client 314, wherein each of the secondpublishing data channels (502 c and 502 d) may publish the screens(third screen 114 and the fourth screen 116) shared by the seconddigital client 314. Further, the second digital client 314 may create asecond receiving data channel (504 c and 504 d) for each of the screensshared by the first digital client 214, wherein each of the secondreceiving data channels (504 d and 504 d) may receive the screens (firstscreen 110 and the second screen 112) shared by the first digital client214.

In one embodiment, the codec (218 and 318) of the first data processingsystem 102 and the second data processing system 104 may compress thescreens before sharing them with the remote server 106. Further, theencryptor (220 and 320) of the first data processing system 102 and thesecond data processing system 104 may encrypt the screens before sharingwith the remote server 106.

In one embodiment, the first screen 110 may comprise a video stream andan audio stream, obtained from a first camera and a first microphone,respectively, connected to the first data processing system 102 and thethird screen 114 may comprise a video stream and an audio stream,obtained from a second camera and a second microphone, respectively,connected to the second data processing system 104.

In one embodiment, the second screen 112 may comprise a video stream andan audio stream, obtained from a first software application present onthe first data processing system 102, wherein the video stream and theaudio stream obtained from the first software application is independentof the first camera and the first microphone and the fourth screen 116may comprise a video stream and an audio stream, obtained from a secondsoftware application present on the second data processing system 104,wherein the video stream and the audio stream obtained from the secondsoftware application is independent of the second camera and the secondmicrophone. As an example, the second screen 112 and the fourth screen116 may be a window of a media player playing a video, a presentation soon and so forth.

At step 708, the remote server 106 may receive the screens publishedfrom the first digital client 214 and the second digital client 314 viathe first publishing data channels (502 a and 502 b) and the secondpublishing data channels (502 c and 502 d) respectively.

At step 710, the encrypting/decrypting unit 410 of the remote server 106may decrypt the received screens from the first digital client 214 andthe second digital client 314 via the first publishing data channels(502 a and 502 b) and the second publishing data channels (502 c and 502d) respectively.

At step 712, the encrypting/decrypting unit 410 of the remote server 106may encrypt the decrypted screens received from the first digital client214 and the second digital client 314. The encryption protocol may bedependent on the data processing systems with which the screens areshared.

At step 714, the remote server 106 may communicate the encrypted screenshares with the first data processing system 102 and the second dataprocessing system 104 via the first receiving data channels (504 a and504 b) and the second receiving data channels (504 c and 504 d)respectively. The remote server 106 may send the screens to appropriatedata processing systems using the routing unit 408, wherein the IPaddresses of the data processing systems are used to communicate thescreens.

At step 716, the first digital client display interface may display thevisual content of the third screen 114 and the fourth screen 116 on thedisplay module 206 of the first data processing system 102. In oneembodiment, the visual content of the third screen 114 and the fourthscreen 116 may be displayed in individual display windows.

At step 718, the second digital client 314 display interface may displaythe visual content of the first screen 110 and the second screen 112 onthe display module 206 of the second data processing system 104. In oneembodiment, the visual content of the first screen 110 and the secondscreen 112 may be displayed in individual display windows.

In one embodiment, the first processor module 202 may cause the firstdigital client 214 to publish the visual content of the first screen 110and the second screen 112 in the individual display windows of the firstdigital client display interface, by sourcing the visual contentcorresponding to the first screen 110 and the second screen 112 locallywithin the first data processing system 102, without requiring theremote server 106 to send the visual content of the first screen 110 andthe second screen 112 to the first data processing system 102.Similarly, the second processor module 302 may cause the second digitalclient 314 to publish the visual content of the third screen 114 and thefourth screen 116 in the individual display windows of the seconddigital client 314 display interface, by sourcing the visual contentcorresponding to the third screen 114 a nd the fourth screen 116 locallywithin the second data processing system 104, without requiring theremote server 106 to send the visual content of the third screen 114 andthe fourth screen 116 to the second data processing system 104.

In one embodiment, the first digital client display interface maydisplay the visual content of the first screen 110 and the second screen112 (locally sourced) and the third screen 114 and the fourth screen 116received via the first receiving data channels (504 a and 504 b).Similarly, the second digital client 314 display interface may displaythe visual content of the third screen 114 and the fourth screen 116(locally sourced) and the first screen 110 and the second screen 112received via the second receiving data channels (504 c and 504 d).

FIG. 8 illustrates a first digital client display interface 802, inaccordance with an embodiment. The first digital client displayinterface 802 may display the visual content of the first screen 110,the second screen 112, the third screen 114 and the fourth screen 116 inindividual windows simultaneously. Each of the windows may be providedwith an identity 804 and the identity may be displayed in the firstdigital client 214 and the second digital client 314, wherein theidentity may represent the digital client from which the screen ispublished. Similarly, second digital client display interface maydisplay the visual content of the first screen 110, the second screen112, the third screen 114 and the fourth screen 116 in individualwindows simultaneously as shown in FIG. 8.

In one embodiment, the remote server 106 may record an identity 804 foreach of the screens shared by the first digital client 214 and thesecond digital client 314 and further communicate the identity 804 withthe first digital client 214 and the second digital client 314.

In another embodiment, the remote server 106 may create an identity 804for each of the screens shared by the first digital client 214 and thesecond digital client 314.

In one embodiment, the identity 804 for each of the screens shared bythe first digital client 214 and the second digital client 314 maycomprise an image. As an example, the image may be profile picture ofthe user of the digital client.

In one embodiment, each of the identities 804 may be unique compared toeach other thereby enabling easier identification of the screens.

In one embodiment, each of the identities 804 created for the screensshared may comprise a first portion and a second portion. The firstportion may identify user of the first digital client 214 or the seconddigital client 314, whichever shared the screen and the second portionmay be unique compared to identities for screens shared by the samedigital client.

FIG. 9 is an illustration of the first digital client display interface802, in accordance with an embodiment. The first digital client 214 maycause display in the first digital client display interface 802, visualcontent of the first screen 110, the second screen 112, the third screen114 and the fourth screen 116 in individual display windows, wherein theindividual display windows of the first digital client display interface802 may be arranged in a grid of equally sized windows.

In one embodiment, the first processor module 202 may change the size ofthe individual display windows, of the first digital client displayinterface, simultaneously to equally sized larger or smaller sizedwindows based on an input received from a first user. As an example, theuser may choose the window size such as small, medium or large from agrid size icon 902 to simultaneously adjust the size of all the windows.

In one embodiment, the first processor module 202 may cause the firstdigital client 214 to move one of the individual display windows to adesired location within the first digital client display interface,based on an input received from a first user of the first dataprocessing system 102.

FIG. 10 illustrates the first digital client display interface 802, inaccordance with an embodiment. The first processor module 202 may causethe first digital client 214 to change the size of one of the individualdisplay windows of the first digital client display interface, based onan input received from a first user. As an example, the enlarge icon1002 of a particular window may be activated to increase the size ofthat window.

In one embodiment, the first processor module 202 may cause the firstdigital client 214 to enable playing of the audio streams correspondingto the third screen 114 and the fourth screen 116. Similarly, the secondprocessor module 302 may cause the second digital client 314 to enableplaying of the audio streams corresponding to the first screen 110 andthe second screen 112.

In another embodiment, based on input from a first user of the firstdata processing system 102, the first processor module 202 may cause thefirst digital client 214 to selectively stop playing one or both of theaudio streams corresponding to the third screen 114 and the fourthscreen 116. As an example, the mute icon 1004 may be activated by thefirst user to stop playing the audio stream from the third screen 114.

FIG. 11 illustrates the first digital client display interface, inaccordance with an embodiment. The first processor module 202, based oninput from the first user of the first data processing system 102, mayenable the recording of audio-visual content of at least one of thescreens displayed on the first digital client display interface. As anexample, the record icon may be activated by the first user to record ascreen shared by the second digital client 314.

In one embodiment, the first processor module 202 may be configured torecord audio-visual content of all of the screens displayed on the firstdigital client 214.

In one embodiment, first processor module 202, based on an inputreceived from a first user, may cause the first digital client 214 tominimize at least one of the individual display windows of the firstdigital client display interface, while displaying the visual content inremaining of the of the individual display windows of the first digitalclient display interface, which are not minimized. As an example, theminimize icon 1106 may be activated to minimize the window and therestore icon 1108 may be activated to restore the window to its originalsize.

FIGS. 12A-12D illustrates the process of sharing multiple screens in anonline meeting, in accordance with an embodiment. Referring to FIG. 12A,the first digital client display interface 802 may display the firstscreen 110 and the third screen 114. The first screen 110 may comprise avideo stream and an audio stream, obtained from a first camera and afirst microphone, respectively, connected to the first data processingsystem 102 and the third screen 114 may comprise a video stream and anaudio stream, obtained from a second camera and a second microphone,respectively, connected to the second data processing system 104. Thefirst digital client display interface 802 may display a screen shareicon 1202. The first user of the first data processing system 102 mayactivate the screen share icon 1202 to share a screen with the seconddata processing system 104.

Referring to FIG. 12B, upon activating the screen share icon 1202, thefirst digital client display interface 802 may open a selection window1204. The selection window 1204 may comprise a first icon 1206, a secondicon 1208 and a third icon 1210. The first icon 1206 may enable thefirst user of the first data processing system 102 to share the entirescreen of the first data processing system 102.

Referring to FIG. 12C, the first user may activate the second icon 1208to share a particular window from a multiple application windows. As anexample, the first user may have multiple application windows (1212 a,1212 b and 1212 c) open in the first data processing system 102 and maywant to share only the window of a particular application. The firstuser may select the particular window that is to be shared from themultiple application windows (1212 a, 1212 b and 1212 c).

Referring to FIG. 12D, the first user may activate the third icon 1210to share a particular tab from an application such as a web browser. Thefirst user may select the tab to be shared from the plurality of tabs(1214 a and 1214 b) that are open. The first user of the first dataprocessing system 102 may repeat the process to share another screenwith the second data processing system 104 thereby sharing multiplescreens with the second data processing system 104 simultaneously.Similarly, a second user of the second data processing system 104 mayshare multiple screens with the first data processing system.

Therefore, it is clear that the system for enabling multiple screensharing in an online meeting disclosed herein is completely differentfrom the existing video conferencing tools. As an example, TEAMVIEWERenables a user to control or share desktop screens remotely. However, inTEAMVIEWER one computing system provides control or shares the screen ofthe entire computing system. It does not enable individually andselectively sharing screens with another computing system. As explainedin FIGS. 12A-12D, the system for enabling multiple screen sharing in anonline meeting, enables a user to individual share a screen of the firstdata processing system 102.

The processes described above is described as a sequence of steps, thiswas done solely for the sake of illustration. Accordingly, it iscontemplated that some steps may be added, some steps may be omitted,the order of the steps may be re-arranged, or some steps may beperformed simultaneously.

The example embodiments described herein may be implemented in anoperating environment comprising software installed on a computer, inhardware, or in a combination of software and hardware.

Although embodiments have been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the system and method described herein.Accordingly, the specification and drawings are to be regarded in anillustrative rather than a restrictive sense.

Many alterations and modifications of the present invention will nodoubt become apparent to a person of ordinary skill in the art afterhaving read the foregoing description. It is to be understood that thephraseology or terminology employed herein is for the purpose ofdescription and not of limitation. It is to be understood that thedescription above contains many specifications, these should not beconstrued as limiting the scope of the invention but as merely providingillustrations of some of the personally preferred embodiments of thisinvention.

What is claimed is:
 1. A system enabling multiple screens sharing in anonline meeting, the system comprising: a first data processing systemcomprising a first processor and a first digital client, the firstprocessor causing the first digital client to individually share atleast a first screen and a second screen; and a second data processingsystem comprising a second processor and a second digital client, thesecond processor causing the second digital client to individually shareat least a third screen and a fourth screen; wherein, the first digitalclient shares the first screen and the second screen while the seconddigital client shares the third screen and the fourth screen; the firstdigital client comprises a first digital client display interface,wherein the first digital client displays in the first digital clientdisplay interface, visual content of the third screen and the fourthscreen in individual display windows; and the second digital clientcomprises a second digital client display interface, wherein the seconddigital client displays in the second digital client display interface,visual content of the first screen and visual content of the secondscreen in individual display windows, while the first digital clientdisplays the visual content of the third screen and the fourth screen;the first processor causes the first digital client to create a firstpublishing data channel for each of the screens shared by the firstdigital client, wherein each of the first publishing data channelscomprises an video track and an audio track, wherein each of the firstpublishing channels publishes the respective screens shared by the firstdigital client to a remote destination; the first processor causes thefirst digital client to create a first receiving data channel for eachof the screens shared by the second digital client, wherein each of thefirst receiving data channels comprises an video track and an audiotrack, wherein each of the first receiving channels receives therespective screens shared by the second digital client; the secondprocessor causes the second digital client to create a second publishingdata channel for each of the screens shared by the second digitalclient, wherein each of the second publishing data channels comprises anvideo track and an audio track, wherein each of the second publishingchannels publishes the respective screens shared by the second digitalclient to a remote destination; and the second processor causes thesecond digital client to create a second receiving data channel for eachof the screens shared by the first digital client, wherein each of thesecond receiving data channels comprises an video track and an audiotrack, wherein each of the second receiving channels receives therespective screens shared by the first digital client.
 2. The system ofclaim 1, wherein, the first processor causes the first digital client todisplay in the first digital client display interface, visual content ofthe screens shared by the first digital client and the second digitalclient in individual display windows; and the second processor causesthe second digital client to display in the second digital clientdisplay interface, visual content of the screens shared by the firstdigital client and the second digital client in individual displaywindows.
 3. The system of claim 2, wherein, the first screen comprises avideo stream and an audio stream, obtained from a first camera and afirst microphone, respectively, connected to the first data processingsystem; and the third screen comprises a video stream and an audiostream, obtained from a second camera and a second microphone,respectively, connected to the second data processing system.
 4. Thesystem of claim 3, wherein, the second screen comprises a video streamand an audio stream, obtained from a first software application presenton the first data processing system, wherein the video stream and theaudio stream obtained from the first software application is independentof the first camera and the first microphone; and the fourth screencomprises a video stream and an audio stream, obtained from a secondsoftware application present on the second data processing system,wherein the video stream and the audio stream obtained from the secondsoftware application is independent of the second camera and the secondmicrophone.
 5. The system of claim 2, wherein the first processor modulocauses the first digital client to display in the first digital clientdisplay interface, visual content of the first screen, the secondscreen, the third screen and the fourth screen in individual displaywindows, wherein the individual display windows of the first digitalclient display interface are arranged in a grid of equally sizedwindows.
 6. The system of claim 5, wherein the first processor causesthe first digital client to, based on an input received from a firstuser, change the size of the individual display windows, of the firstdigital client display interface, simultaneously to equally sized largeror smaller sized windows.
 7. The system of claim 2, wherein the firstprocessor causes the first digital client to, based on an input receivedfrom a first user, change the size of one of the individual displaywindows of the first digital client display interface.
 8. The system ofclaim 2, wherein the first processor causes the first digital client to,based on an input received from a first user, move one of the individualdisplay windows to a desired location within the first digital clientdisplay interface.
 9. The system of claim 2, wherein the first processorcauses the first digital client to, based on an input received from afirst user, minimize at least one of the individual display windows ofthe first digital client display interface, while displaying the visualcontent in remaining of the of the individual display windows of thefirst digital client display interface, which are not minimized.
 10. Thesystem of claim 2, wherein, the third screen comprises a video streamand an audio stream, obtained from a second camera and a secondmicrophone, respectively, connected to the second data processingsystem; the fourth screen comprises a video stream and an audio stream,obtained from a second software application present on the second dataprocessing system, wherein the video stream and the audio streamobtained from the second software application is independent of thesecond camera and the second microphone; the first processor causes thefirst digital client to enable playing of the audio streamscorresponding to the third screen and the fourth screen; and the firstprocessor, based on input from a first user of the first data processingsystem, causes the first digital client to selectively stop playing oneor both of the audio streams corresponding to the third screen and thefourth screen.
 11. The system of claim 1, further comprising a remoteserver, wherein, the first data processing system is connected to theremote server; the second data processing system is connected to theremote server; the server coordinates sharing of the screens between thefirst data processing system and second data processing system; thefirst processor causes the first digital client to publish the visualcontent of the first and the second screens in the individual displaywindows of the first digital client display interface, by sourcing thevisual content corresponding to the first and the second screens locallywithin the first data processing system, without requiring the server tosend the visual content of the first and the second screens to the firstdata processing system; and the second processor causes the seconddigital client to publish the visual content of the third and the fourthscreens in the individual display windows of the second digital clientdisplay interface, by sourcing the visual content corresponding to thethird and the fourth screens locally within the second data processingsystem, without requiring the server to send the visual content of thethird and the fourth screens to the second data processing system. 12.The system of claim 11, wherein, the first publishing channels and thefirst receiving channels are established between the first dataprocessing system and the remote server; the second publishing channelsand the second receiving channels are established between the seconddata processing system and the remote server; the first processor causesthe first digital client to publish the screens shared by the firstdigital client to the remote server via respective first publishingchannels; the second processor causes the second digital client topublish the screens shared by the second digital client to the remoteserver via respective second publishing channels; the first processorcauses the first digital client to receive the screens shared by thesecond digital client from the remote server via respective firstreceiving channels; and the second processor causes the second digitalclient to receive the screens shared by the first digital client fromthe remote server via respective second receiving channels.
 13. Thesystem of claim 12, wherein, the remote server is configured to recordan identity for each of the screens shared by the first digital clientand the second digital client; the remote server is configured tocommunicate the identity for each of the screens shared by the firstdigital client and the second digital client to the first digital clientand the second digital client; the first processor causes the firstdigital client to display the identity of the screens correlated withthe respective display windows of the first digital client displayinterface; and the second processor causes the second digital client todisplay the identity of the screens correlated with the respectivedisplay windows of the second digital client display interface.
 14. Thesystem of claim 12, wherein the identity for each of the screens sharedby the first digital client and the second digital client comprises animage.
 15. The system of claim 12, wherein each of the identities areunique compared to each other.
 16. The system of claim 12, wherein theremote server is configured to create the identity for each of thescreens shared by the first digital client and the second digitalclient.
 17. The system of claim 16, wherein, each of the identitiescreated for the screens shared comprises a first portion and a secondportion; the first portion identifies user of the first digital clientor the second digital client, whichever shared the screen; and thesecond portion is unique compared to identities for screens shared bythe same digital client.
 18. The system of claim 1, wherein the firstprocessor, based on input from the first user of the first dataprocessing system, enables the recording of audio-visual content of atleast one of the screens displayed on the first digital client displayinterface.